/**
 * 添加信息窗口
 *    入参：
 *          1、markerItem      标注点信息
 *                    {
    *                   map: object       地图实例
                        lng: number       经度
                        lat: number       纬度
    *                 }
 *          2、callback        回调函数
 * 
 *    返参：
 *          1、callback函数中的值
 * */

export const BMAP_ADDINFOWINDOW = (markerItem, callback) => {
  const { map, lng, lat } = markerItem
  const html = `
    <div id="taiqu" style="font-size: 12px;line-height: 16px;padding: 0 8px;color: #4b5467;background-color: #fff;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;">
      ${markerItem.lng}
    </div>
  `
  const infoWindow = new BMapGL.InfoWindow(html, { width: 140, height: 32, title: '' }) // 创建信息窗口对象
  const point = new BMapGL.Point(lng, lat)
  map.openInfoWindow(infoWindow, point) // 开启信息窗口
  // 判断窗口的打开状态
  if (!infoWindow.isOpen()) {
    // 如果没有打开，则监听打开事件，获取按钮，添加事件
    infoWindow.addEventListener('open', () => {
      document.getElementById('taiqu').ontouchstart = () => {
        callback && callback()
      }
    })
  } else {
    // 如果已经打开，直接获取按钮，添加事件
    document.getElementById('taiqu').ontouchstart = () => {
      callback && callback()
    }
  }
}
